/**
 * <p>文件名:		IMessageService.java</p>
 * <p>版权:		CopyrightTag</p>
 * <p>公司:		千方集团CTFO</p>
 * @author		周华彬(zhouhuabin@ctfo.com, zhou_hua_bin@163.com)
 */

package com.caits.lbs.framework.services.sms;

/**
 * <p>
 * IMessageService
 * </p>
 * <p>
 * 用途：消息发送接口
 * </p>
 * 
 * @author 周华彬(zhouhuabin@ctfo.com, zhou_hua_bin@163.com)
 * @version 0.0.1 2011-8-10
 *          <table style="border:1px solid gray;">
 *          <tr>
 *          <th width="100px">版本号</th>
 *          <th width="100px">动作</th>
 *          <th width="100px">修改人</th>
 *          <th width="100px">修改时间</th>
 *          </tr>
 *          <!-- 以 Table 方式书写修改历史 -->
 *          <tr>
 *          <td>0.0.0</td>
 *          <td>创建类</td>
 *          <td>zhb</td>
 *          <td>2011-8-10 下午5:10:26</td>
 *          </tr>
 *          <tr>
 *          <td>0.0.1</td>
 *          <td>创建类</td>
 *          <td>zhb</td>
 *          <td>2011-8-10 下午5:10:26</td>
 *          <td>0.0.2</td>
 *          <td>修改类</td>
 *          <td>xxx</td>
 *          <td>x年x月x日</td>
 *          </tr>
 *          </table>
 */
public interface IMessageService {
	/**
	 * 发送单个消息 
	 * @param messgae
	 */
	void sendMessage(IMessage messgae);
	
	/**
	 * 注册消息消费类，准备接收消息，之后调用 startListen
	 * @param consumer
	 */
	void registerConsumer(IConsumeMessage consumer);
	
	/**
	 * 开始接收消息，一般是在 registerConsumer之后调用
	 */
	void startListen(); 
	/**
	 * 停止接收消息，一般是在 startListen之后调用
	 */
	void stopListen(); 
}
